Recently, as flash storage devices such as a solid-state drive and a SD (secure digital) card become popular, there is an ever increasing demand for a file system suitable for the characteristics of the flash storage devices.
A file system mainly used in a flash storage device is a log-structured file system. Unlike a typical file system such as EXT 4 (extended file system 4) or the like using an in-place update approach, the log-structured file system employs an out-of-place update mechanism whereby, when updating data included in a previously stored file, a previously recorded block is invalidated and newly updated data are sequentially stored in a new block. Thus, in the log-structured file system, small random write requests can be collected and processed as a single sequential write request. Further, in the log-structure file system, the sequential write operation can be performed on a segment-by-segment basis. Here, the segment is a set of consecutive blocks. Thus, the log-structured file system is suitable for a flash storage device which has higher write and read speeds for a file than those of other existing storage devices and is capable of performing parallel processing.
To perform the sequential write operation on the basis of segments successfully, the log-structured file system performs a garbage collection method of creating a new segment by collecting invalid blocks. When performing the garbage collecting operation, however, the log-structured file system may suffer deterioration in write performance due to a delay in the write operation caused by an overhead.
To resolve the problem of the overhead incurred by the garbage collection, the log-structured file system may use a slack space recycling (SSR) method. Depend on the SSR method, when the system lacks consecutive spaces for storing data therein, the garbage collection is not performed. Instead, depend on the SSR method, the data is recorded in an invalid block of a dirty segment, thus delaying the garbage collection. Therefore, depend on the SSR method, deterioration in the write performance can be avoided. Since, however, the SSR method accompanies random write operations of a storage device, it may be more effective to perform the garbage collection rather than performing the SSR method in the aspect of improving the write performance.
As a conventional technology related to a file system that uses a garbage collection approach, Korean Patent Laid-open Publication No. 10-2013-0050124 (entitled “GARBAGE COLLECTION METHOD FOR NON-VOLATILE MEMORY DEVICE”) describes an efficient garbage collection method capable of reducing an overhead by considering the number and the recording time of valid data blocks and, also by conducting a cost-benefit analysis in a non-volatile memory device.
In addition, Korean Patent Laid-open Publication No. 10-2011-0098279 (entitled “NAND FLASH MEMORY SYSTEM AND METHOD FOR PERFORMING GARBAGE COLLECTION BASED ON LOCALITY OF BUFFER”) describes a method of performing a garbage collection method based on information of a buffer cache and a flash memory in consideration of locality of buffer, and, also, describes a flash memory system therefor.